Embodiments of the present invention relate to constructing a graphical user interface, and in particular, to constructing a graphical user interface for an application being accessed by a user.
User devices such as computers and mobiles phones run applications with which a user can interact via a graphical user interface. When using such an interface it is common for there to be large amounts of superfluous control elements available to the user. A control element is any button, window, icon, or other distinguishable element of the user interface. These extra control elements take up valuable screen space and direct attention away from the task the user is currently performing. Although the user may wish to access all of the control elements at different times, it is very unlikely that they need constant access to all of the different control elements that can be presented to the user.
Existing solutions to these problems include task oriented user interfaces. One such solution is ‘perspectives’ in the Eclipse IDE. This capability allows the user to manually switch the user interface to display only the elements of interest in the current task that the user is performing. However, the user must manually change the perspective to match the task they are about to perform. Moreover, the process of adding and/or removing elements to and from the user interface based on their specific requirements can be time consuming and complicated.
Another solution to the problem of excessive numbers of control elements in a user interface is to hide those user interface elements which are not commonly used. A feature like this can be seen in some versions of Microsoft Office products (Microsoft, Windows, Windows NT and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries or both) whereby menu items are hidden if they are not often used. When a user accesses a menu, they are not shown all of the available options, only a subset is actually presented to the user. However, if a user does require one of the hidden UI elements, the specific control element can be hard to locate and they will always require further user actions to locate the specific desired control element.